<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>地图导航</title>
    <style>
        * {
          margin: 0;
          padding: 0;
        }
        #container {
          width: 100%;
          height: 100vh;
        }
    </style>
    <script type="text/javascript">
          window._AMapSecurityConfig = {
              securityJsCode:'da2e250bb7af7a37e0989adac3b04295',
          }
    </script>
    <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=a727f22af65d64033da95ab95a10def8"></script>
</head>
<body>
  <div id="container"></div>
  <script>
    var map = new AMap.Map("container", {
       zoom: 15, //级别
       center: [116.397428, 39.90923], //中心点坐标
     })

     window.onload = async function () {
        if(window.shenling) {
          // 调用原生的getLocation方法，传递的方法名是hLocation
          shenling.getLocation("hLocation")
        }
     }
     // 原生调用此方法，参数是原生传递过来
    function hLocation (lon, lat) {
      map.setZoomAndCenter(18, [lon, lat])
        map.plugin(["AMap.PlaceSearch"], function () {
          var MSearch = new AMap.PlaceSearch({
            pageSize: 4,
            pageIndex: 1, //请求页码，默认1
            extensions: "base", //返回信息详略，默认为base（基本信息）
          }) //构造PlaceSearch类
          AMap.event.addListener(MSearch, "complete", (result) => {
            // 调用衍生方法
           shenling.receiveData("search_list",JSON.stringify(result?.poiList?.pois || []))
          }) //返回结果
          MSearch.searchNearBy("地点", new AMap.LngLat(lon, lat)) //关键字查询
        })
    }
   </script>
</body>
</html>